package com.xk.school_device.utlis;

import cn.dev33.satoken.stp.StpUtil;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Component;

import java.security.MessageDigest;

/**
 * @Title: PasswordUtil
 * @Author xk
 * @Package com.xk.school_device.utlis
 * @Date 2025/4/16 11:42
 * @description: 密码加密
 */
@Component
public class PasswordUtil {
    // BCrypt 强度系数（建议值 10-12）
    private static final BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(12);

    // 加密用户密码
    public static String encrypt(String rawPassword) {
        return encoder.encode(rawPassword);
    }

    // 校验密码（供登录时使用）
    public static boolean check(String rawPassword, String encodedPassword) {
        return encoder.matches(rawPassword, encodedPassword);
    }

    // 获取当前用户加密后的密码（演示用）
    public static String getCurrentUserEncryptedPassword() {
        return StpUtil.getSession().getString("123456");
    }
}
